package com.microsoft.bingads.v11.api.test.entities; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.microsoft.bingads.v11.bulk.BulkFileReader; import com.microsoft.bingads.v11.bulk.BulkFileWriter; import com.microsoft.bingads.v11.bulk.DownloadFileType; import com.microsoft.bingads.v11.bulk.ResultFileType; import com.microsoft.bingads.v11.bulk.entities.BulkEntity; import org.junit.Assert; import java.io.File; import java.io.IOException; import java.util.ArrayList; public class Util { public static synchronized ArrayList<BulkEntity> WriteAndReadBack(ArrayList<BulkEntity> entities) { ArrayList<BulkEntity> results = new ArrayList<BulkEntity>(); try { String filePath = File.createTempFile("WriteAndReadBack", ".tmp").getAbsolutePath(); BulkFileWriter writer = new BulkFileWriter(new File(filePath), DownloadFileType.CSV); for (BulkEntity entity: entities) { writer.writeEntity(entity); } writer.close(); BulkFileReader reader = new BulkFileReader(new File(filePath), ResultFileType.FULL_DOWNLOAD, DownloadFileType.CSV); for (BulkEntity entity: reader.getEntities()) { results.add(entity); } reader.close(); new File(filePath).delete(); } catch (IOException ex) { Assert.fail("Exceptions while writing or reading file"); } return results; } public static String toJson(Object obj) { ObjectWriter writer = new ObjectMapper().writer().withDefaultPrettyPrinter(); String result = null; try { result = writer.writeValueAsString(obj); } catch (JsonProcessingException e) { Assert.fail("Cannot serialize the object to JSON"); } return result; } }